﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CoreShop.Model.ViewModels
{
    public class VipPayResultDto
    {
        /// <summary>
        /// 租户ID
        /// </summary>
        public string tenantId { get; set; }

        /// <summary>
        /// 组织ID
        /// </summary>
        public string organizationId { get; set; }

        /// <summary>
        /// 订单类型（可为null）
        /// </summary>
        public string orderType { get; set; }

        /// <summary>
        /// 支付编号（唯一标识）
        /// </summary>
        public string payNo { get; set; }

        /// <summary>
        /// 商户编号
        /// </summary>
        public string mchNo { get; set; }

        /// <summary>
        /// 账单编号（可为null）
        /// </summary>
        public string billNo { get; set; }

        /// <summary>
        /// 总金额
        /// </summary>
        public decimal? amount { get; set; }

        /// <summary>
        /// 折扣金额（可为null）
        /// </summary>
        public decimal? disAmount { get; set; }

        /// <summary>
        /// 客户应付金额（可为null）
        /// </summary>
        public decimal? custAmount { get; set; }

        /// <summary>
        /// 退款金额
        /// </summary>
        public decimal? refundAmount { get; set; }

        /// <summary>
        /// 交易时间
        /// </summary>
        public DateTime? tranTime { get; set; }


        /// <summary>
        /// 状态（建议通过枚举优化，如：1=待支付，2=已支付等）
        /// </summary>
        public int? status { get; set; }


        /// <summary>
        /// 错误编码（可为null）
        /// </summary>
        public string errCode { get; set; }

        /// <summary>
        /// 错误信息（可为null）
        /// </summary>
        public string msg { get; set; }

        /// <summary>
        /// 原始支付流水号（可为null）
        /// </summary>
        public string oriPaymentSn { get; set; }

        /// <summary>
        /// 余额类型编码（如：pay.vip=会员支付）
        /// </summary>
        public string nalanceTypeCode { get; set; }

        /// <summary>
        /// 余额类型ID
        /// </summary>
        public int? nalanceTypeId { get; set; }

        /// <summary>
        /// 余额类型名称（如：会员）
        /// </summary>
        public string nalanceTypeName { get; set; }

        /// <summary>
        /// 余额支付金额
        /// </summary>
        public decimal amountBalance { get; set; }

        /// <summary>
        /// Z类金额（具体含义需结合业务，当前为0）
        /// </summary>
        public decimal amountZ { get; set; }

        /// <summary>
        /// 交易后余额
        /// </summary>
        public decimal afterAmount { get; set; }

        /// <summary>
        /// 交易前余额
        /// </summary>
        public decimal beforeAmount { get; set; }
    }
}
